#ifndef __CIRCULAR_BUFFER_H
#define __CIRCULAR_BUFFER_H

#include <stdint.h>

#define CIRCULAR_BUFFER_SIZE 100


typedef uint8_t data_type_t;

typedef struct{
	data_type_t data[CIRCULAR_BUFFER_SIZE];
	uint16_t head; 
	uint16_t tail;
}circular_buffer_t;

extern circular_buffer_t * createEmptyCircularBuffer(void);
extern uint16_t bufferIsEmpty(circular_buffer_t*pBuffer);
extern uint16_t bufferIsFull(circular_buffer_t*pBuffer);
extern void insertDataForBuffer(circular_buffer_t *pBuffer, data_type_t data);
extern data_type_t deleteDataFromBuffer(circular_buffer_t *pBuffer);

#endif
